/**
 * Copyright (c) 2020-2021 浦东大爷 All rights reserved.
 * 机会永远都是留给有准备的人
 */
package com.lagou.mapper;

import com.lagou.model.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: gitwo
 * @date: 2021-03-08
 * @description:
 */
public interface UserMapper {

    /**
     * 用户名检查
     * @param username
     * @return
     */
    int checkUserName(String username);

    /**
     * 登录函数
     * @param username
     * @param md5EncodeUtf8Password
     * @return
     */
    User selectLogin(@Param("username") String username, @Param("password") String md5EncodeUtf8Password);

    /**
     * 查询所有用户
     * @return
     */
    List<User> userList();

    /**
     * 添加用户
     * @param user
     * @return
     */
    int insert(User user);

    /**
     * 校验邮箱
     * @param str
     * @return
     */
    int checkEmail(String str);

    /**
     * 根据ID进行删除用户
     * @param id
     * @return
     */
    int delete(Integer id);

    /**
     * 根据ID查询用户
     * @param id
     * @return
     */
    User findById(Integer id);

    /**
     * 更新用户
     * @param user
     * @return
     */
    int update(User user);

    /**
     * 更新用户信息检查
     * @param user
     * @return
     */
    int checkByUserForUpdate(User user);
}
